﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using NobleTech.Products.CreatureKingdom.Utils;
using NobleTech.Products.CreatureKingdom.WPFClient.Controls;

namespace NobleTech.Products.CreatureKingdom.WPFClient
{
    public class OrganismInformation : DependencyObject
    {

        public string Name
        {
            get { return (string)GetValue(NameProperty); }
            set { SetValue(NameProperty, value); }
        }

        // Using a DependencyProperty as the backing store for Name.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty NameProperty =
            DependencyProperty.Register("Name", typeof(string), typeof(OrganismInformation));


        public string AssemblyName
        {
            get { return (string)GetValue(AssemblyNameProperty); }
            set { SetValue(AssemblyNameProperty, value); }
        }

        // Using a DependencyProperty as the backing store for AssemblyName.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty AssemblyNameProperty =
            DependencyProperty.Register("AssemblyName", typeof(string), typeof(OrganismInformation));


        public string AssemblyVersion
        {
            get { return (string)GetValue(AssemblyVersionProperty); }
            set { SetValue(AssemblyVersionProperty, value); }
        }

        // Using a DependencyProperty as the backing store for AssemblyVersion.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty AssemblyVersionProperty =
            DependencyProperty.Register("AssemblyVersion", typeof(string), typeof(OrganismInformation));

        public Type ImplementationType
        {
            get { return (Type)GetValue(ImplementationTypeProperty); }
            set { SetValue(ImplementationTypeProperty, value); }
        }

        // Using a DependencyProperty as the backing store for ImplementationType.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty ImplementationTypeProperty =
            DependencyProperty.Register("ImplementationType", typeof(Type), typeof(OrganismInformation));


        public string FileName
        {
            get { return (string)GetValue(FileNameProperty); }
            set { SetValue(FileNameProperty, value); }
        }

        // Using a DependencyProperty as the backing store for FileName.  This enables animation, styling, binding, etc...
        public static readonly DependencyProperty FileNameProperty =
            DependencyProperty.Register("FileName", typeof(string), typeof(OrganismInformation));


    }
}
